﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;

namespace Kernel
{
    public interface ICommand:IPlugin
    {
        /// <summary>
        /// 命令的图标
        /// </summary>
        Bitmap Bitmap { get;}

        /// <summary>
        /// 命令按钮的文字
        /// </summary>
        string Caption { get; }

        /// <summary>
        /// 命令按钮所属的类别
        /// </summary>
        string Category { get; }


        /// <summary>
        /// 命令按钮是否被选择
        /// </summary>
        bool Checked { get; }

        /// <summary>
        /// 命令按钮是否可用
        /// </summary>
        bool Enabled { get; }

        /// <summary>
        /// 是否可见
        /// </summary>
        bool Visiabled { get; }

        /// <summary>
        /// 快捷帮助ID
        /// </summary>
        int HelpContextID { get; }

        /// <summary>
        /// 鼠标移动到按钮时，状态栏出现的文字
        /// </summary>
        string Message { get; }

        /// <summary>
        /// 按钮名称
        /// </summary>
        string Name { get; }

        /// <summary>
        /// 按钮点击时，触发的方法
        /// </summary>
        void OnClick( object sender, EventArgs ex);

        /// <summary>
        /// 按钮产生时，触发的方法
        /// </summary>
        void OnCreate();

        /// <summary>
        /// 鼠标移动到按钮上时，弹出的文字
        /// </summary>
        string Tooltip { get; }
    }
}
